Modular battery controller

ABSTRACT

Some embodiments of the present invention describe a battery including a plurality of master-less controllers. Each controller is operatively connected to a corresponding cell in a string of cells, and each controller is configured to bypass a fraction of current around the corresponding cell when the corresponding cell has a greater charge than one or more other cells in the string of cells.

CROSS-REFERENCE TO RELATED APPLICATION

This application is a Continuation Application claiming the benefit ofpriority from U.S. patent application Ser. No. 13/193,160, filed on Jul.28, 2011, pending, which claims priority to U.S. Patent Application No.61/369,211, entitled “Modular Battery Charge Controller,” filed on Jul.30, 2010, each of which is hereby incorporated by reference in itsentirety.

ORIGIN OF THE INVENTION

The invention described herein was made by an employee of the UnitedStates Government and may be manufactured and used by or for theGovernment for Government purposes without the payment of any royaltiesthereon or therefore.

FIELD

The present invention relates to a battery controller and, moreparticularly, to a modular battery controller that implements adistributed cell balancing and charge control scheme.

BACKGROUND

A battery is comprised of a series of cells. In order to manage thevoltage of the cells, a single controller is utilized. For example, thecurrent state-of-the-art in digital charge control of batteries rests onthe use of a single controller for multiple cells stacked in series.However, this approach may cause the battery to be susceptible to asingle fault failure. In other words, this is a failure of the singlecharge controller (e.g., a Digital Signal Processor (DSP) or aMicrocontroller). As a result, the cells in the battery may be moresusceptible to failure due to the failure of the single chargecontroller.

SUMMARY

Certain embodiments of the present invention may provide solutions tothe problems and needs in the art that have not yet been fullyidentified, appreciated, or solved by current battery cell controllers.

In accordance with an embodiment of the present invention, an apparatusis provided. The apparatus includes a plurality of master-lesscontrollers. Each controller is operatively connected to a correspondingcell in a string of cells, and each controller is configured to bypass afraction of current around the corresponding cell when the correspondingcell has a greater charge than one or more other cells in the string ofcells.

In accordance with another embodiment of the present invention, anapparatus is provided. The apparatus includes a string of cells and aplurality of master-less controllers. Each controller is connected to anassigned cell in the string of cells and is connected to one neighboringcontroller. Furthermore, each controller is configured to bypass afraction of current around the assigned cell when the assigned cell hasa higher voltage compared to other cells in the string of cells

In accordance with yet another embodiment of the present invention, amethod is provided. The method includes assigning a master-lesscontroller to a cell in the string of cells, and bypassing a fraction ofcurrent around an assigned cell when the assigned cell has a highervoltage compared to other cells in a string of cells.

BRIEF DESCRIPTION OF THE DRAWINGS

For a proper understanding of the invention, reference should be made tothe accompanying figures. These figures depict only some embodiments ofthe invention and are not limiting of the scope of the invention.Regarding the figures:

FIG. 1 illustrates a modular charge control apparatus, in accordancewith an embodiment of the present invention.

FIG. 2 illustrates a modular charge control apparatus, in accordancewith an embodiment of the present invention.

FIG. 3 illustrates a controller, in accordance with an embodiment of thepresent invention.

FIG. 4 illustrates cell balancing zones, in accordance with anembodiment of the present invention.

FIG. 5 illustrates a method for broadcasting cell data, in accordancewith an embodiment of the present invention.

FIG. 6 illustrates a method for receiving cell data, in accordance withan embodiment of the present invention.

FIG. 7 illustrates a method of cell balancing, in accordance with anembodiment of the present invention.

DETAILED DESCRIPTION OF THE EMBODIMENTS

It will be readily understood that the components of the presentinvention, as generally described and illustrated in the figures herein,may be arranged and designed in a wide variety of differentconfigurations. Thus, the following detailed description of theembodiments of an apparatus, a system, a method, and a computer readablemedium, as represented in the attached figures, is not intended to limitthe scope of the invention as claimed, but is merely representative ofselected embodiments of the invention.

The features, structures, or characteristics of the invention describedthroughout this specification may be combined in any suitable manner inone or more embodiments. For example, the usage of “certainembodiments,” “some embodiments,” or other similar language, throughoutthis specification refers to the fact that a particular feature,structure, or characteristic described in connection with the embodimentmay be included in at least one embodiment of the present invention.Thus, appearances of the phrases “in certain embodiments,” “in someembodiments,” “in other embodiments,” or other similar language,throughout this specification do not necessarily all refer to the samegroup of embodiments, and the described features, structures, orcharacteristics may be combined in any suitable manner in one or moreembodiments.

Embodiments of the present invention provide a modular battery chargecontroller or a master-less distributed digital charge controller forbatteries having multiple cells stacked in a series requiring chargecontrol. In such embodiments, each controller is assigned to a cell and,in some embodiments, one or more neighboring cells resulting inredundant sensors for critical components such as voltage, temperature,and current. The controllers in a given battery interact in amaster-less fashion for the purpose of cell balancing, charge control,and state of charge estimation. As a result, the battery system is faulttolerant.

FIG. 1 illustrates a modular charge control apparatus 100, in accordancewith an embodiment of the present invention. Apparatus 100 includes, butis not limited to, a power source and/or load connection point 102, arelay driver 104, a string of cells 106, parallel strings of cells 108,and a communication bus 110. String of cells 106 can include a pluralityof cells 112A to 112N and a plurality of controllers 114A to 114N. Inthis embodiment, cells 112A to 112N are lithium ion cells, but otherembodiments may use any type of cell that would be appreciated by aperson of ordinary skill in the art.

String of cells 106 can be arranged in a series to form a battery and isconfigured to set a voltage level of the battery. Parallel strings ofcells 108 encompass the battery and are configured to set the current orpower that the battery can deliver at the set voltage level. Parallelstrings of cells 108 are operatively connected to communication bus 110,and each cell in parallel strings of cells 108 has a correspondingcontroller to maintain active balancing of the cells. Each cell instring of cells 106 is operatively connected to the correspondingcontroller. For example, cell 112A is connected to controller 114A, cell112B is connected to controller 114B, and so on.

Also, each controller can be configured to communicate with the othercontrollers via communication bus 110. For example, controller 114A canbroadcast (or communicate) data regarding cell 112A and/or dataregarding controller 114A to controller 114B. In this embodiment, eachcontroller is configured to monitor a corresponding cell and broadcastdata regarding the corresponding cell. For instance, controller 114A isoperatively connected to cell 112A, and is configured to monitor cell112A and broadcast data regarding cell 112A. The data may represent thecell voltage, the cell temperature, the current in string of cells 106,and/or the bypass current of the cell, as well as any other data thatwould be appreciated by a person of ordinary skill in the art. Becausecells 112A to 112N are connected in series, when the string is chargedand/or discharged, each cell 112A to 112N in the string is configured toreceive the same amount of current, unless the cell is bypassed.

Each controller can also be configured to maintain balance of thevoltages between all the cells in string of cells 106 during chargingand, if desired, discharging in order to maintain a charge balance oncells 112A to 112N. For example, if cell 112A has a high voltagecompared to one or more cells in string of cells 106, then controller114A is configured to bypass a fraction of the current around cell 112A.

In order to correctly balance cells 112A to 112N, each controller 114Ato 114N is configured to receive data from the other controllers, whichgather the data regarding the cell voltage of a corresponding cell. Forexample, controller 114A is configured to receive data from controllers114B to 114N regarding the cell voltages of cells 112B to 112N. Based onthe received data, controller 114A can independently determine whetherthe cell 112A needs to be balanced. If cell 112A needs to be balanced,then a fraction of the current is bypassed around cell 112A. See FIG. 4for an explanation of cell balancing.

Each controller 114A to 114N is also capable of determining whether thebattery is exceeding a safety condition and, if so, then any of thecontrollers can be configured to communicate to relay driver 104 inorder to turn off or stop the battery from charge and discharge. In thisembodiment, controller 114A is configured to determine whether thebattery is exceeding a safety condition. Each controller 114A to 114Ncan also be configured to monitor the temperature of each cell in stringof cells 106.

In FIG. 1, controller 114A, or any controller 114B to 114N based on theconfiguration of apparatus 100, can also receive the battery voltagefrom power line PL5. A fuse F2 is connected to power line PL5 wherebattery voltage is transmitted. Fuse F2 is configured to protect againstshort-circuit faults and prevent the wire or power line PL5 fromburning. Fuses F3 and F1 are configured to function in a similar manner.

By receiving the battery voltage via power line PL5, controller 114A,for example, can detect whether the battery voltage is exceeding athreshold level and, if exceeding the threshold level, controller 114Acan command relay driver 104 to turn off or shut down the battery.

In this embodiment, relay driver 104 can be a microcontroller with acommunication bus and can be configured to monitor the voltage of thebattery via power line PL2 and the current of the battery via power linePL3. In particular, current sensor 116 is configured to measure thecurrent of the battery and transmit the measurement to relay driver 104.As a result, if the battery voltage or charge current is too low, toohigh and/or is unsafe, then relay driver 104 can disconnect power fromthe battery or strings of cells 106 and 108. Relay driver 104 can alsodisconnect power from the battery, when commanded by any of chargecontrollers 114A to 114N, if the temperature of any of cells 112A to112N or the battery exceeds a threshold level. In one or moreembodiment, relay driver 104 is configured to receive periodic messagesfrom each controller 114A to 114N in order to verify whether eachcontroller 114A to 114N is operable. It should be appreciated that ifone or more controllers 114A to 114N fail to broadcast the periodicmessage, then relay driver 104 is configured to safely disconnect thebattery from the system and/or notify the system operator. In analternative embodiment, controllers 114A to 114N are also configured tonotify relay driver 104 when one or more controllers are inoperable.

It should also be appreciated that relay driver 104 receives power frompower line PL2 via fuse F1. In some embodiments, relay driver 104 can beconfigured to broadcast via communication bus 110 the total batteryvoltage to the charge controllers to infer the voltage of a cell for thepurpose of cell balancing and monitoring if the cell's correspondingcontroller fails.

It should be appreciated that communication bus 110 is an addressablebus (serial communication bus) in this embodiment that allows eachcontroller to have a controller identification (ID). When controller114A, for example, is broadcasting data to controllers 114B to 114N, theID of controller 114A is also broadcasted, along with the data, tocontrollers 114B to 114N, via communication bus 110. This allows othercontrollers to determine whether a certain controller broadcasted data.For example, if controller 114A does not receive data from controller114B, controller 114A can determine that controller 114B did notbroadcast data based on the missing ID of controller 114B. Controller114A can also determine the voltage of cell 112B by subtracting the cellvoltages of the cells that were broadcasted from the total batteryvoltage, i.e., V_(cc)=V_(battery)−ΣV_(cell).

In this embodiment, communication bus 110 can be a controller areanetwork (CAN) bus. However, a person of ordinary skill in the art wouldreadily appreciate that communication bus 110 can be Ethernet,Spacewire, a System Management Bus, Firewire, a Universal Serial Bus, aSerial Peripheral Interface, or a wireless communication link such asBluetooth, Zigbee, Insteon, and Wi-Fi, or may be any type ofcommunication bus based on the configuration of apparatus 100. Becausecommunication bus 110 is a CAN bus, communication bus 110 canautomatically detect the collision of data broadcast from controllers114A to 114N and prevent such collisions from occurring.

Furthermore, communication bus 110 is operatively connected to anexternal data acquisition system, external controller, or externalspacecraft controller (not shown). For example, this configurationallows data gathered by controllers 114A to 114N and relay driver 104 tobe broadcast to the external system in order to display data to anoperator of the vehicle (e.g., spacecraft, aircraft, etc.), as well asthe ability to send commands to one or more controllers from theexternal system.

FIG. 2 illustrates a modular charge control apparatus 200, in accordancewith an embodiment of the present invention. Modular charge controlapparatus 200 shown in FIG. 2 illustrates similar elements and/orfeatures as modular charge control apparatus 100, which is shown in FIG.1, except that each controller 114A to 114N in modular charge controlapparatus 200 can be connected to one of the neighboring controllers.For example, controller 114B can be directly connected to controller114A. If there are additional controllers, then the third and fourthcontrollers can be directly connected to each other, the fifth and sixthcontrollers can be directly connected to each other, and so on. However,a person of ordinary skill in the art would readily appreciate that eachcontroller 114A to 114N can be connected to one or more controllersbased on the configuration of apparatus 200.

Each controller 114A to 114N is assigned a corresponding cell 112A to112N and is configured to broadcast or communicate data regarding thecorresponding cell as well as battery voltage and current, if soconfigured, to other controllers. For example, controller 114A isconfigured to receive data regarding cells 112B to 112N from controllers114B to 114N. This allows controller 114A to receive cell voltages ofcells 112B to 112N and determine the total battery voltage.

If one of the controllers does not broadcast data, then the othercontrollers can determine which controller did not broadcast data. Forexample, if controller 114A does not receive data from controller 114B,controller 114A can determine that controller 114B did not broadcastdata based on the ID of controller 114B. This configuration allowscontroller 114A to directly measure the voltage of cell 112B andmaintain the cell voltage on cell 112B because controller 114A andcontroller 114B are directly connected to each other. This embodimentnot only allows each controller to actively maintain balance of acorresponding cell, but also allows each controller to maintain balanceof a neighboring cell or bypass the current from a neighboring cellshould a neighboring controller fail.

FIG. 3 illustrates a controller 300, in accordance with an embodiment ofthe present invention. Controller 300 includes, but is not limited to, aregulator 302, a plurality of signal conditioners 304A-F, amicrocontroller 306, a program interface 308, an isolation regulator310, an isolation unit 312, a transceiver 314, a backup controller 316that includes a comparator 318 and a reference 320, and a current sensor322.

Controller 300 also includes bypass circuitry that may dissipate power.The bypass circuit includes a fuse F1, a resistor R, and a switch S1. Inthis embodiment, switch S1 is a field effect transistor, but in otherembodiments can be any switch that would be appreciated by a person ofordinary skill in the art. The value of resistor R of the bypasscircuitry can be adjusted to set the maximum bypass current based uponthe maximum expected voltage of the cell N. It should be appreciatedthat if a bipolar transistor is utilized as the switch, then the amountof bypass current can be varied.

The positive side of the cell N provides power or positive cell voltageto controller 300 and, in particular, to voltage regulator 302 andconditioner 304A. Conditioner 304A is configured to step down or step upthe cell voltage, if needed, and filter any noise received from thepositive cell voltage. It should be appreciated that conditioners 304B-Ffunction in a similar fashion to conditioner 304A. Regulator 302 isconfigured to receive positive cell voltage to generate a fixed voltagefor microcontroller 306 or any other components on controller 300.

Positive cell voltage is also provided to reference 320 and comparator318, which make up backup controller 316. Reference 320 provides areference voltage (or point). The reference voltage allows comparator318 to compare the cell voltage with the reference point to determinewhether to turn switch S1 on. For instance, if the cell voltage isgreater than the reference voltage, then comparator 318 turns switch S1on, via OR-ing function S2. This allows backup controller 316 to bypasscurrent from a cell once a set voltage is reached or exceeded ifmicrocontroller 306 fails.

Positive cell voltage is also provided to isolation regulator 310.Isolation regulator 310 provides a fixed voltage to isolation unit 312and transceiver 314. Because each controller operates at differentvoltages in relation to one another, the communication bus has to beisolated from each controller. Transceiver 314 is configured to receivedata from and broadcast data to the communication bus. Isolation wouldnot be required in an embodiment that utilized wireless communication.

In order to program microcontroller 306, a program interface 308 isutilized. However, it should be appreciated that microcontroller 306 canbe programmed via the communication bus. The program will dictate theconditions to perform, for example, active cell balancing, or anyfunction that would be appreciated by a person of ordinary skill in theart.

In this embodiment, temperature sensors T1 and T2 are mounted oncontroller 300 and can be physically attached along with the controllerto a battery cell using a thermally conductive epoxy. Temperaturesensors T1 and T2 provide the temperature of cell N to microcontroller306 via conditioners 304D and 304E, respectively. Two temperaturesensors are utilized in this embodiment to ensure that the celltemperature is being monitored in the event that either temperaturesensor T1 or T2 fails. In other words, temperature sensor T2 may act asa backup sensor to temperature sensor T1, and vice versa.

It should be appreciated that, in this embodiment, the voltage acrossthe switch S1 (and/or resistor R) is received at microcontroller 306 viaconditioner 304F. This allows microcontroller 306 to measure andcalculate the bypass current. FIG. 3 also shows a current sensor 322that measures the current of the string of cells and transmits themeasurement to microcontroller 306 via conditioner 304C. Current sensor322 can be a shunt, an isolated current sensor, or any current sensorthat would be appreciated by a person of ordinary skill in the art.

The voltage of the battery is received by microcontroller 306 viaconditioner 304B. As mentioned above, the voltage of the cell N isreceived by microcontroller 306 via conditioner 304A. This allowsmicrocontroller 306 to compare the battery voltage and the summation ofcell voltages to determine sensor failure or degradation, state ofcharge estimation, and cell balancing. Microcontroller 306 alsobroadcasts the battery voltage to other controllers via thecommunication bus. This allows the other controllers to determine sensorfailure or degradation, state of charge estimation, and cell balancing.

FIG. 4 illustrates cell-balancing zones 400, in accordance with anembodiment of the present invention. In this embodiment, FIG. 4illustrates four zones: zone 1, zone 2, zone 3, and zone 4.

For instance, zone 4 illustrates when the error of a cell is less than asecond voltage parameter −V2, which may be −125 mV. When the cell erroris in zone 4, the controller sets a flag and does not perform bypassingbecause the cell voltage is less than the voltages of the other cells inthe string. In zone 3, if the cell error is between the second voltageparameter −V2 and 0 volts, then the cell is determined to be ok and theflag is cleared. In this zone, the controller also does not performbypassing because the cell voltage is less than the voltages of theother cells in the string. See FIG. 7 for a more detailed explanation.

However, zone 1, which is a hysteresis zone, shows that the cell erroris between 0 and first voltage parameter +V1, which may be 20.8 mV. Inthis zone, the controller determines that the cell is ok, but retainsthe previous bypass command; that is, if the controller was previouslybypassing current, then the controller continues to bypass current untilthe cell error is below 0 mV and, if the controller was not bypassingcurrent, then the controller continues to not bypass current. In zone 2,when the cell error is greater than first voltage parameter +V1, thecontroller indicates that the cell is ok and clears the flag. Thecontroller also performs bypassing of the current of the cell until thecell error is below 0 mV.

FIG. 5 illustrates a method 500 for broadcasting cell data, inaccordance with an embodiment of the present invention. In thisembodiment, a timer is setup for each controller to broadcast data atcertain time intervals. For example, at 502, the timer can interrupt thecontroller every half a second for transmission of data. However, thetimer intervals can be configured for any time based on theconfiguration of the apparatus. At 504, the controller broadcasts datato the other controllers in the apparatus via the communication bus. Thedata can include information regarding the cell voltage of the cellcorresponding to the controller, a bypass current of the cell, and othervariables such as battery voltage, current, and controller ID. At 506,the controller returns from the interrupt after the data is broadcast.It should be appreciated that this process repeats during the nextinterrupt cycle.

FIG. 6 illustrates a method 600 for receiving cell data, in accordancewith an embodiment of the present invention. In this embodiment, at 602,a reception interrupts the controller when data is successfully receivedfrom another controller. At 604, the controller is configured to storethe data. The data can include information regarding the cell voltage ofanother cell being monitored by another controller, the bypass currentof the other cell, and other variables such as battery voltage, current,and the ID of the other controller.

At 606, after N receptions (where N is the number of cells in thebattery), the controller receiving the data determines whether all ofthe controllers have broadcast data; in other words, all transmissionshave completed. If all the controllers have broadcast data, then thecontroller receiving the data returns from interrupt at 612. If one ofthe controllers did not broadcast the data, then the controllerreceiving the data determines which controller did not broadcast data at608. At 610, based on the controller that did not broadcast the data,the controller receiving the data computes and stores the data of themissing cell. In this embodiment, the data of the missing cell isdetermined by subtracting the sum of all cell voltages, which wasreceived from the other controllers plus the cell voltage measured bythe controller, from the total battery voltage, which was broadcasted byanother controller or measured by the controller. At 612, the controllerreturns from interrupt.

FIG. 7 illustrates a method 700 of cell balancing, in accordance with anembodiment of the present invention. At 702, the controller isperiodically interrupted to sample data. At 704, the controller computesthe largest error. For instance, this may be the cell voltage of thecontroller's cell minus the cell voltage of each cell in the string ofcells (i.e., V_(cell)−V_(cell(i))).

Once the controller finds the largest error, the controller determinesat 706 whether the error is between zero and a first voltage parameterV1. If the error is between zero and first voltage parameter V1, thenthe controller maintains the previous bypass command at 710. If thecontroller determines the error is not between zero and first voltageparameter V1, then the controller determines whether the error isgreater than first voltage parameter V1 at 708. If the error is greaterthan first voltage parameter V1, then the controller sets a bypasscommand (or activates the bypass switch) at 712 in order to bypass afraction of the current from the cell. If the error is not greater thanfirst voltage parameter V1, then the controller clears the bypasscommand at 714.

At 716, the controller determines the smallest error. In thisembodiment, the smallest error is computed by subtracting the cellvoltage of the corresponding (or assigned) cell from the cell voltagefor each cell (i.e., V_(cell)−V_(cell(i))). Once the smallest error isfound, the controller determines at 718 whether the error is less thansecond voltage parameter −V2. If the error is less than second voltageparameter −V2, then the controller sets a bad cell bit at 720. If theerror is not less than second voltage parameter −V2, then the controllerclears the bad cell bit at 722. The setting or clearing of the cell bitis to notify the operator as to the status of the cell.

The method steps performed in FIG. 5 to FIG. 7 may be performed by acomputer program, encoding instructions for the nonlinear adaptiveprocessor to perform at least the method described in FIG. 5 to FIG. 7,in accordance with an embodiment of the present invention. The computerprogram may be embodied on a non-transitory computer readable medium.The computer readable medium may be, but is not limited to, a hard diskdrive, a flash device, a random access memory, a tape, or any other suchmedium used to store data. The computer program may include encodedinstructions for controlling the nonlinear adaptive processor toimplement the method described in FIG. 5 to FIG. 7, which may also bestored on the computer readable medium.

The computer program can be implemented in hardware, software, or ahybrid implementation. The computer program can be composed of modulesthat are in operative communication with one another, and which aredesigned to pass information or instructions to display. The computerprogram can be configured to operate on a general purpose computer, anapplication specific integrated circuit (“ASIC”), or a controller.

It should be appreciated that the embodiments described herein pertainto an apparatus and method that provides a distributed approach tocharge control and the use of a robust communication bus to link thecontrollers. This approach improves the robustness of the battery bymaking it more fault-tolerant compared to a single battery controllerapproach. In addition to cell balancing, each controller can beprogrammable for over-voltage, under-voltage, over-temperature, andunder-temperature monitoring and power management. Any number ofcontrollers can be programmable for over-current monitoring andstate-of-charge estimation.

The apparatus and method described herein can also be applied to batteryenergy storage applications, such as electric/hybrid vehicles, motorizedwheelchairs, utility companies, hospitals, industrial/commercialbuildings, space and military applications, etc.

One having ordinary skill in the art will readily understand that theinvention as discussed above may be practiced with steps in a differentorder, and/or with hardware elements in configurations that aredifferent than those which are disclosed. Therefore, although theinvention has been described based upon these preferred embodiments, itwould be apparent to those of skill in the art that certainmodifications, variations, and alternative constructions would beapparent, while remaining within the spirit and scope of the invention.In order to determine the metes and bounds of the invention, therefore,reference should be made to the appended claims.

We claim:
 1. An apparatus, comprising: a string of battery cells; aplurality of master-less controllers, wherein each one of the pluralityof controllers is conductively connected to a corresponding battery cellin the string; and a communication bus communicably coupled to each oneof the master-less controllers; wherein each controller is configuredto: determine a voltage of its corresponding battery cell via a directconductive connection between the controller and its correspondingbattery cell; receive, via the communication bus, a voltage of anadditional battery cell of the string corresponding to another one ofthe controllers, wherein the additional voltage was measured by theother controller; determine that a difference between the voltage andthe additional voltage is above a threshold amount; and in response tothe determination, bypass a fraction of current around its correspondingcell to diminish the difference.
 2. The apparatus of claim 1, whereinthe string of battery cells is configured to set an overall voltageprovided by the apparatus, wherein the apparatus further comprises anadditional string of battery cells connected in parallel to the stringof battery cells, wherein the additional string of battery cells isconfigured to set an overall current delivered by the apparatus at theoverall voltage.
 3. The apparatus of claim 2 further comprising: a powersource conductively connected to the string of battery cells via a firstpower line; and a relay driver conductively connected to the first powerline via a second power line, wherein the second power line comprises afuse, wherein the relay driver is configured to monitor the overallvoltage and the overall current.
 4. The apparatus of claim 3, whereinthe relay driver is configured to disconnect the power source from thefirst power line in response to the overall voltage being outside afirst predefined range or the overall current being outside a secondpredefined range.
 5. The apparatus of claim 3, wherein the each of thecontrollers is configured to monitor a temperature of its correspondingbattery cell in the string of cells.
 6. The apparatus of claim 5,wherein the each of the controllers is further configured to monitortemperatures of at least one of the other cells in the string of batterycells.
 7. The apparatus of claim 6, wherein each of the controllers iscommunicably coupled to the relay driver via the communications bus,wherein each of the controllers is configured to transmit a shutdowncommand to the relay driver in response to determining that thetemperature of its corresponding battery cell exceeds a thresholdtemperature.
 8. The apparatus of claim 7, wherein the relay driver isconfigured to broadcast the overall voltage of the apparatus to each ofthe controllers via the communications bus.
 9. The apparatus of claim 1,wherein each of the controllers comprises a comparator, a voltagereference, and a bypass circuit, wherein the comparator and voltagereference of each controller are conductively connected to a positivevoltage terminal of that controller's corresponding battery cell,wherein the bypass circuit is conductively connected to an output of thecomparator, wherein the bypass circuit is configured to bypass thefraction of current around the corresponding cell when the correspondingcell has a higher voltage than the additional battery cell by thethreshold amount.
 10. The apparatus of claim 9, wherein the bypasscircuit of each of the controllers includes a switch conductivelyconnected to the output of the comparator and a resistor in series withthe switch, wherein a resistance of the resistor is adjustable to set amaximum bypass current for the bypass circuit.
 11. Acomputer-implemented method comprising measuring, by a first master-lesscontroller of a charge control apparatus, a first voltage of a firstbattery cell in a string of battery cells, wherein the first master-lesscontroller has a direct conductive connection to the first battery cell,wherein the charge control apparatus includes a plurality of master-lesscontrollers, each of the master-less controllers directly connected to adifferent corresponding battery cell in the string of battery cells;receiving, by the first master-less controller, a plurality of voltagesof a plurality of battery cells from master-less controllerscorresponding to different ones of the plurality of battery cells;determining, by the first master-less controller, a maximal differencebetween the first voltage and one of the plurality of voltages; and inresponse to the maximal difference being greater than a first thresholdvalue, bypassing, by the first master-less controller, a fraction ofcurrent around the first battery cell.
 12. The computer-implementedmethod of claim 11 further comprising determining, by the firstmaster-less controller, a minimal difference between the first voltageand another one of the plurality of voltages; and in response to theminimal difference being less than a second threshold value,transmitting, by the first master-less controller, a bad cell signal tonotify a user that the first battery cell is malfunctioning.
 13. Thecomputer-implemented method of claim 12 further comprising, in responseto determining that the maximal difference is between the firstthreshold value and a second threshold value, maintaining currentthrough the first battery cell.
 14. The computer-implemented method ofclaim 12 further comprising maintaining current through the firstbattery cell when the minimal difference is less than the secondthreshold value.
 15. The computer-implemented method of claim 14,wherein the second threshold value is negative and has a greatermagnitude than the first threshold value.
 16. An apparatus comprising: astring of battery cells; a plurality of master-less controllers, whereineach one of the plurality of controllers is conductively connected to acorresponding battery cell in the string; a communication buscommunicably coupled to each one of the master-less controllers; whereineach controller is configured to: determine a voltage of itscorresponding battery cell via a direct conductive connection betweenthe controller and its corresponding battery cell; receive an overallvoltage provided by the string of batteries via a first power line;determine that a neighboring one of the controllers is inactive based onnot receiving an identifier associated with that neighboring controller,wherein the neighboring controller is directly connected to another oneof the battery cells; and in response to the determination, calculate aneighboring voltage of the other battery cell based on the voltage ofits corresponding battery cell and the overall voltage.
 17. Theapparatus of claim 16 further comprising: a power source conductivelyconnected to the string of battery cells via a second power line; and arelay driver conductively connected to the second power line via a thirdpower line, wherein the third power line comprises a fuse, wherein therelay driver is configured to monitor the overall voltage of the stringof battery cells.
 18. The apparatus of claim 17, wherein each one of theplurality of master-less controllers is communicably coupled to therelay driver via the communication bus.
 19. The apparatus of claim 18,wherein each one the controllers are configured to: determine that theoverall voltage is above a first threshold value; and in response to thedetermination, transmit a shutdown command to the relay driver to causethe relay driver to disconnect the power source from the string ofbattery cells.
 20. The apparatus of claim 18, wherein each one thecontrollers is configured to: determine that the voltage of itscorresponding battery cell is greater than the neighboring voltage bymore than a second threshold value; and in response to thedetermination, bypass a fraction of the overall current around itscorresponding battery cell to reduce the difference.